home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mh / mh-6.8 / zotnet / bboards.h next >
Encoding:
C/C++ Source or Header  |  1992-12-14  |  2.4 KB  |  69 lines

  1. /* bboards.h - definition of a BBoard structure */
  2. /* $Id: bboards.h,v 1.2 1992/05/12 22:04:52 jromine Exp $ */
  3.  
  4. #define    BBOARDS    "bboards"    /* name in /etc/passwd */
  5. #define    BBDB    "BBoards"    /* file in BBOARDS' home directory */
  6. #define    BBMODE    0644        /* default BBoards mode */
  7. #define    DISTADR    "dist-"        /* prefix for distribution addresses */
  8.  
  9. #ifdef    POP
  10. #define    POPUID    "pop"        /* name in /etc/passwd */
  11. #define    POPDB    "POP"        /* file in POPUID's home directory */
  12. #define    POMODE    0600        /* default POP subscriber maildrop mode */
  13. #endif /* POP */
  14.  
  15. struct bboard {
  16.     char   *bb_name;        /* name of the bboard */
  17.     char  **bb_aka;        /* aliases for the bboards */
  18.  
  19.     char   *bb_file;        /* file it resides in */
  20.     char   *bb_archive;        /* file where archives reside */
  21.     char   *bb_info;        /* file where maxima resides */
  22.     char   *bb_map;        /* file where binary map resides */
  23.  
  24.     char   *bb_passwd;        /* password for it */
  25.  
  26.     char  **bb_leader;        /* list of local leaders */
  27.  
  28.     char   *bb_addr;        /* network address */
  29.     char   *bb_request;        /* network address for requests */
  30.     char   *bb_relay;        /* host acting as relay in local domain */
  31.     char  **bb_dist;        /* distribution list */
  32.  
  33.     unsigned int    bb_flags;    /* various flags */
  34. #define    BB_NULL    0x0000
  35. #define    BB_ARCH    0x0007        /* archive policy */
  36. #define   BB_ASAV    0x0001    /*   save in archives/ directory */
  37. #define      BB_AREM    0x0002    /*   remove without saving */
  38. #define BB_INVIS    0x0010    /* invisible to bbc */
  39. #define    BB_REMOTE    0x0020    /* remote to bbc */
  40. #define    BB_SEEN        0x0040    /* seen by bbc */
  41. #define    BBITS    "\020\01ARCHIVE\02REMOVE\05INVIS\06REMOTE\07SEEN"
  42.  
  43.     union {            /* unassigned */
  44.     unsigned int    un_count;
  45.     long        un_mtime;
  46.     } bb_un;
  47. #define    bb_count    bb_un.un_count
  48. #define    bb_mtime    bb_un.un_mtime
  49.     
  50.     unsigned int    bb_maxima;    /* highest BBoard-Id in it */
  51.     char   *bb_date;        /* date that maxima was written */
  52.  
  53.     struct bboard *bb_next;    /* unassigned */
  54.     struct bboard *bb_link;    /* unassigned */
  55.     struct bboard *bb_chain;    /* unassigned */
  56. };
  57.  
  58.                 /* flags for setbbent () */
  59. #define    SB_NULL    0x0000
  60. #define    SB_STAY    0x0001        /*   stay open between calls */
  61. #define    SB_FAST    0x0002        /*   fast parse of file */
  62.  
  63. void    make_lower ();
  64. int     setbbent (), endbbent (), setbbfile (), setbbinfo (), setpwinfo (),
  65.     ldrbb (), ldrchk (), getbbdist ();
  66. long    getbbtime ();
  67. char   *getbberr ();
  68. struct bboard  *getbbent (), *getbbnam (), *getbbaka (), *getbbcpy();
  69.